Many of today's integrated circuits, i.e., semiconductor devices or "chips", have stored thereon electronically readable identification information or data, such as a device's date of manufacture or the version number of the mask set used to form the device. This information is typically stored or encoded onto the semiconductor device after the formation of its integrated circuitry and its detachment from the wafer in which it was formed, but before it is packaged.
One technique for storing identification data on a semiconductor device is to encode the data in a bank of laser fuses. Typically, such a bank of laser fuses is formed in an exposed polysilicon layer of the semiconductor device. After the formation of a passivation layer, which is typically the last layer formed on the semiconductor device, portions of a passivation layer covering the bank are etched away to expose the laser fuses. Next, selected ones of the laser fuses, which are typically formed in a closed, i.e., conducting state, are cut with a precision laser to put them in an opened, i.e., nonconducting, state. Typically, each fuse stores one bit of data. For example, a closed fuse may store a logic 1, and an opened fuse may store a logic 0. Thus, the encoded laser fuses store the desired identification data on the device. After the semiconductor device is packaged, one can electrically access and read the identification data that is stored by the laser fuses.
Another technique for storing identification data on a semiconductor device is to encode a bank of electrically alterable fuses. These fuses, like the laser fuses, are formed on the semiconductor device. Because these fuses need not be accessed by a laser, however, they may be formed in any of the layers of the semiconductor device. Typically, such electrically alterable fuses are either formed in an opened state and electrically alterable to a closed state, or formed in a closed state and electrically alterable to an opened state. To encode the identification data, selected ones of the fuses are altered using a conventional semiconductor testing apparatus or another type of conventional electronic programming equipment. Like the laser fuses, each electrically alterable fuse typically stores one bit of data. After the semiconductor device is packaged, one can electrically access and read the stored identification data with a conventional device.
A circuit and a method for encoding laser or electrically alterable fuses with identification data are discussed in U.S. Pat. No. 5,301,143, entitled "Method For Identifying A Semiconductor Die Using An IC With Programmable Links", which issued to Ohri et al. on Apr. 5, 1994 and is incorporated herein by reference.
A problem with both the laser fuse and the electrically alterable fuse techniques is that they are prone to inaccuracies. For example, a slight misalignment of the semiconductor device with respect to the laser during the encoding process may cause the wrong fuses to be cut, and thus may cause the laser fuses to be encoded with erroneous identification data. Similarly, a software error may cause the wrong electrical fuses to be altered, and thus may cause the electrically alterable fuses to be encoded with erroneous identification data. Once erroneous information has been encoded, it is often difficult or impossible to correct such an error. Furthermore, with either of these techniques, there may be intermittent glitches that cause errors. The sources of these intermittent glitches are often difficult to find and eliminate.